﻿#include "CRobRealMap.h"

CRobRealMap::CRobRealMap(QWidget *parent)
	: CMapWidgetBase(parent)
{
	ui.setupUi(this);
}

CRobRealMap::~CRobRealMap()
{}

void CRobRealMap::autoAdjustMapCenter()//自动调整地图居中
{
	//找到最小的Y坐标和最大的y坐标
	QPoint PominY(0, 0);
	QPoint PomaxY(0, 0);
	for (int i = 0; i < m_vecPoints.size(); i++)
	{
		if (m_vecPoints[i].y() > PomaxY.y())
		{
			PomaxY.setX(m_vecPoints[i].x());
			PomaxY.setY(m_vecPoints[i].y());
		}

		if (m_vecPoints[i].y() < PominY.y())
		{
			PominY.setX(m_vecPoints[i].x());
			PominY.setY(m_vecPoints[i].y());
		}

	}

	//计算差值
	double douDifferenceValue = PomaxY.y() - PominY.y();

	//差值和画布宽度比较
	double douTranslationValue = m_cWidgetSize.height() - douDifferenceValue;//偏移量
	douTranslationValue = douTranslationValue / 2;

	QPoint PoTemp;
	PoTemp.setX(0);//向右平移0
	//PoTemp.setY(100);//向下平移这么多
	PoTemp.setY(douTranslationValue);//向下平移这么多

	m_translation += PoTemp;
	update();

}
